package com.maiji.cloud.entities.shopingmall;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import com.maiji.cloud.entities.login.UserInfo;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;

@NoArgsConstructor
@Data
@Accessors(chain = true)
@Table(name = "withdraw_apply")
public class WithdrawApply {

    @TableId
    @Column(name = "uu_id", type = MySqlTypeConstant.VARCHAR, length = 50, isKey = true)
    private String uuId;

    @Column(name = "user_id", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String userId;

    @Column(name = "real_name", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String realName; //支付宝账号的认证名字/微信真实姓名

    @Column(name = "account", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String account; // 支付宝账号/微信openid

    @Column(name = "capital_io_id", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String capitalIoId; // 提现记录ID

    @Column(name = "io_money", type = MySqlTypeConstant.DOUBLE, length = 8, decimalLength = 2)
    private Double ioMoney; // 充值/提现金额

    @Column(name = "money", type = MySqlTypeConstant.DOUBLE, length = 8, decimalLength = 2)
    private Double money; // 账户余额(分销可提现余额)

    @Column(name = "start", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String start;//从哪提现

    @Column(name = "end", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String end;//提现到哪里

    @Column(name = "type", type = MySqlTypeConstant.INT, length = 2)
    private Integer type; // 1:支付宝，2：微信

    @Column(name = "apply_date", type = MySqlTypeConstant.DATETIME)
    private Date applyDate; // 申请时间

    @Column(name = "examine", type = MySqlTypeConstant.DATETIME)
    private Integer examine; // 0-未审核，1-审核通过，2-审核拒绝

    @Column(name = "operator_date", type = MySqlTypeConstant.DATETIME)
    private Date operatorDate; // 审核时间

    @Column(name = "operator_id", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String operatorId; //审核员ID

    @Column(name = "operator_name", type = MySqlTypeConstant.VARCHAR, length = 50)
    private String operatorName; //审核员名称

    @TableField(exist = false)
    private String nickName;

    @TableField(exist = false)
    private UserInfo userInfo;

    @TableField(exist = false)
    private List<Date> applyDates; // 申请时间

    @TableField(exist = false)
    private List<Date> examineDates; // 审核时间

}
